package com.jinsi.controller.zhu;


import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import com.jinsi.constant.YltConstant;
import com.jinsi.pojo.Carousel;
import com.jinsi.service.zhu.CarouselService;
import com.jinsi.util.R;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.Date;
import java.util.List;

/**
 * 广告轮播图展示，修改，删除，模糊查
 * @author 朱浩榕
 * @Date 2022-10-13
 *
 */
@RestController
@RequestMapping("/carousel")
@Slf4j
public class CarouselController {

    @Autowired
    private CarouselService carouselService;

    /**
     * 规范查询   分页--根据条件---查询所有
     * @param page 分页
     * @param limit 分页展示
     * @param display  是否展示
     * @param imgType 查询类型
     * @return
     */
    @RequestMapping("/getAll")
    public R getNewAllandPage(Integer page,Integer limit,Integer display,String imgType){
        PageHelper.startPage(page,limit);
        List<Carousel> all = carouselService.getAllandPage(display,imgType);
        PageInfo<Carousel> pageInfo = new PageInfo<>(all);
        return R.custom(YltConstant.LAYUI_CODE,
                YltConstant.LAYUI_MSG,
                pageInfo.getList(),
                pageInfo.getTotal());
    }
    /**
     * 添加广告数据
     * @param carousel 要添加的Carousel对象
     * @return
     */
    @RequestMapping("/insert")
    public R newInsert(Carousel carousel){

        log.info("添加轮播图：[开始],轮播图信息:{}",carousel);
        carouselService.add(carousel);
        log.info("添加轮播图: [结束] 结果：{}","成功");
        return R.error();
    }

    /**
     * 假删的方法
     * @param id 传入的要删除的id值
     * @return
     */
    @RequestMapping("/del")
    public R dele(Integer id){
        log.info("假删轮播图：[开始],轮播图ID:{}",id);
        carouselService.del(id);
        log.info("假删轮播图：[结束],结果:{}","成功");
        return R.error();
    }

    /**
     * 编辑广告的方法
     * @param carousel 传入的Carousel对象
     * @return
     */
    @RequestMapping("/update")
    public R updateCar(Carousel carousel){
        log.info("编辑轮播图：[开始],轮播图信息:{}",carousel);
        carouselService.update(carousel);
        log.info("编辑轮播图：[开始],轮播图信息:{}",carousel);
        return R.error();
    }

    /**
     * 查询所有广告
     * @return
     */
    @RequestMapping("/searchAll")
    public List<Carousel> searchAll(){
        List<Carousel> list = carouselService.searchIMgType();
        return list;
    }



    /**
     * 查询所有类型为视频的对象
     * @return
     */
    @RequestMapping("/searchImgTypeVeido")
    public List<Carousel> searchImgTypeVeido(){
        List<Carousel> list = carouselService.searchVedio();
        return list;
    }

    /**
     * 查询所有类型为图片的对象
     * @return
     */
    @RequestMapping("/searchImgTypePhone")
    public List<Carousel> searchImgTypePhone(){
        List<Carousel> list = carouselService.searchPicture();
        return list;
    }


}
